﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QLNS.Class;
namespace QLNS.NghiepVu
{
    public partial class frmNgachCongChuc : Form
    {
        DB cn= new DB();
        string tag="";
        public frmNgachCongChuc()
        {
            InitializeComponent();
        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void label3_Click(object sender, EventArgs e)
        {

        }

        private void frmNgachCongChuc_Load(object sender, EventArgs e)
        {
            //hàm load dtgngachcongchuc dau
            //load trang thái button luôn ở đây nữa
            load_buuton(tag);
            load_grid();
        }
        private void load_buuton(string tag)
        {
            //trạng thái thêm các button sửa, xóa ẩn
            if (tag == "them")
            {
                btnLuu.Enabled = true;
                btnHuy.Enabled = true;
                btnThem.Enabled = false;
                btnSua.Enabled = false;
                btnXoa.Enabled = false;

                txtMaNgachCongChuc.Enabled = false;
                txtTenNgachCongChuc.Text = "";
                txtTenNgachCongChuc.Enabled = true;
                txtMaSo.Enabled = true;
                txtMaSo.Text = "";
                //sao trạng thái bị loạn hết lên ntnay`

            }
                //xây dựng hàm trạng thái sai
            else if (tag == "sua")
            {
                btnLuu.Enabled = true;
                btnHuy.Enabled = true;
                btnThem.Enabled = false;
                btnSua.Enabled = false;
                btnXoa.Enabled = false;

                txtMaNgachCongChuc.Enabled = false;
                txtTenNgachCongChuc.Enabled = true;
                txtMaSo.Enabled = true;
            }
            else
            {
                btnThem.Enabled = true;
                btnSua.Enabled = true;
                btnXoa.Enabled = true;
                btnHuy.Enabled = false;
                btnLuu.Enabled = false;
                txtMaSo.Enabled = false;

                txtMaNgachCongChuc.Enabled = false;
                txtTenNgachCongChuc.Enabled = false;
            }
        }
        private void load_grid()
        {
            if (cn.KetNoi())
            {
            //    DataTable tbl = Cn.getTable("select row_number() over(order by MaDanhHieu) as STT,* from DanhHieu");

            //    dtgDanhHieu.DataSource = tbl;
                DataTable tbl= cn.getTable ("select row_number() over(order by MaNgachCongChuc) as STT, *from NgachCongchuc");
            dtgNgachCongChuc.DataSource=tbl;
            }

        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            tag = "them";
            load_buuton(tag);
            txtMaNgachCongChuc.Text = cn.SinhMa("MaNgachCongChuc", "NgachCongChuc", "NC");

        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            tag = "sua";
            load_buuton(tag);
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult h = MessageBox.Show("Bạn có muốn xóa hay không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
            if (h == DialogResult.Yes)
            {
                if (dtgNgachCongChuc.RowCount > 0)
                {//xóa đây là xóa dòng hiện tại
                    //k phải sóa theo cái textbox kia
                    //cái này là sóa dòng hiện tại đang chọn
                    //nếu có cái sự hiện hiển thị ra text bõ từ dtg kia thi mới sóa theo texbox dc
                    cn.KetNoi();
                    cn.Delete_Table("NgachCongChuc", "MaNgachCongChuc='" +txtMaNgachCongChuc.Text+ "'");
                    tag = "";
                    load_grid();
                    load_buuton(tag);
                    MessageBox.Show("Xóa dữ liệu thành công");
                }
            }
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (cn.KetNoi())
            {
                if (tag == "them")
                {
                    if (txtTenNgachCongChuc.Text == "")
                    {
                        MessageBox.Show("Bạn chưa nhập tên ngạch công chức ");
                        txtTenNgachCongChuc.Focus();
                        return;
                    }
                    else if (txtMaSo.Text == "")
                    {
                        MessageBox.Show("Bạn chưa nhập mã số");
                        txtMaSo.Focus();
                        return;
                    }
                    else 
                    {
                        string ketqua = cn.LayDuLieu("SELECT TenNgachCongChuc from NgachCongChuc WHERE TenNgachCongChuc=N'" + txtTenNgachCongChuc.Text + "'");
                        if (ketqua != "")
                        {
                            MessageBox.Show("Dữ liệu đã tồn tại");
                            txtTenNgachCongChuc.Focus();
                            return;
                        }
                        string ketqua1 = cn.LayDuLieu("SELECT MaSo from NgachCongChuc WHERE MaSo='" + txtMaSo.Text + "'");
                        if (ketqua1 != "")
                        {
                            MessageBox.Show("Dữ liệu đã tồn tại");
                            txtMaSo.Focus();
                            return;
                        }
                    }

                    cn.KetNoi();
                    cn.Insert_Table("NgachCongChuc", "MaNgachCongChuc,TenNgachCongchuc,MaSo", "'" + txtMaNgachCongChuc.Text + "',N'" + txtTenNgachCongChuc.Text + "','" + txtMaSo.Text + "'");

                }
                else
                {
                    if (txtTenNgachCongChuc.Text == "")
                    {
                        MessageBox.Show("Bạn chưa nhập tên ngạch công chức");
                        txtTenNgachCongChuc.Focus();
                        return;
                    }
                    else if (txtMaSo.Text == "")
                    {
                        MessageBox.Show("Bạn chưa nhập Mã số");
                        txtMaSo.Focus();
                        return;
                    }
                    else
                    {
                        string ketqua=cn.LayDuLieu("LELECT TenNgachCongchuc from NgachCongChuc WHERE TenNgachCongChuc=N'"+ txtTenNgachCongChuc.Text+"'");
                        if (ketqua != "")
                        {
                            MessageBox.Show("Dữ liệu đã tồn tại");
                            txtTenNgachCongChuc.Focus();
                            return;
                        }
                        string kq = cn.LayDuLieu("SELECT MaSo from NgachCongChuc WHERE MaSo='" + txtMaSo.Text + "'");
                        if (kq != "")
                        {
                            MessageBox.Show("Dữ liệu đã tồn tại");
                            txtMaSo.Focus();
                            return;
                        }

                    }
                    cn.KetNoi();
                    //vợ không biết cách viết code
                    //ku viết 1 lần vợ coi cách ku viết
              //có mở ngoặc thì phải đóng luôn
                    //update vào 2 trường thôi. chỉ cho phép sửa tên. k được sửa mã
                    //viết đến đâu đóng tới đó
                    //điều kiện sửa là tại mã ngạch công chức
                    //vợ chạy thử coi sửa lại cho vợ đê =))
                    cn.Update_Table("NgachCongChuc","TenNgachCongChuc=N'"+txtTenNgachCongChuc.Text+"',MaSo='"+txtMaSo.Text+"'","MaNgachCongChuc='"+txtMaNgachCongChuc.Text+"'");

                }
                tag="";
                load_buuton(tag);
                load_grid();
            }
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            tag = "";
            load_buuton(tag);
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            DialogResult h = MessageBox.Show("Bạn có muốn thoát không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
            if (h == DialogResult.Yes)
            {
                this.Close();
            }
        }

        private void dtgNgachCongChuc_SelectionChanged(object sender, EventArgs e)
        {//k. từ từu
            //vợ viết tiếp đi viết gì đây 
            //ban đầu trước khi sóa phỉa kt sem trong dtg cócái gì k.  sai. hiển thị lên đâu?  sai
            // cấu trúc của cái đó là
            //tên dtg. dòng hiện tại chọn(current rows).ô mà mình chọn hiển thị(cells).giá trị(value).kiểu chuỗi(tostring). như thế nhanh
            if (dtgNgachCongChuc.RowCount > 0)
            {
                txtTenNgachCongChuc.Text = dtgNgachCongChuc.CurrentRow.Cells["TenNgachCongChuc"].Value.ToString();
                txtMaSo.Text = dtgNgachCongChuc.CurrentRow.Cells["MaSo"].Value.ToString();
                //dc chua chua. mã ngạch ct k load lên à?
                txtMaNgachCongChuc.Text = dtgNgachCongChuc.CurrentRow.Cells["MaNgachCongChuc"].Value.ToString();
                //dc chua ku. bjo vợ sủa lại đc chỗ sóa rồi. có thể sóa theo textbox đc rồi
                //k hiêu? :(
                //mình sóa theo dòng hiện tại mình chọn trên dtg đúng k?o
                //bầy giờ dòng hiện tại đã đc load lên text bõ rồi. mình có thể sóa theo nó. cho code ngắn lại
            }
        }

     
    }
}
